package clasesBasicas;
/*
 * Clase para guardar el conjunto de datos de un Usuario
 */
public class Usuario implements Visualizable{
	
	int dni;
	String nombre;
	String apellidos;
	String id_usuario;
	String contraseña;
	String email;
	double dineroActual;
	int nivelActual;
	String pregSecreta;
	String respSecreta;
	char admin;
	static int [] acciones = new int [35];
	boolean [] favorito = new boolean [35];
	
	
	/*
	 * Constructor
	 */
	public Usuario(int dni, String nombre, String apellidos, String id_usuario,
			String contraseña, String email, double dineroActual,
			int nivelActual, String pregSecreta, String respSecreta, char admin) {
		super();
		this.dni = dni;
		this.nombre = nombre;
		this.apellidos = apellidos;
		this.id_usuario = id_usuario;
		this.contraseña = contraseña;
		this.email = email;
		this.dineroActual = dineroActual;
		this.nivelActual = nivelActual;
		this.pregSecreta = pregSecreta;
		this.respSecreta = respSecreta;
		this.admin = admin;
		for (int i=0;i<35;i++)
		{
			acciones[i]=0;
		}
		for (int i=0;i<35;i++)
		{
			favorito[i]=false;
		}
		
	}
 
	/*
	 * Constructor
	 */
	public Usuario(int dni, String nombre, String apellidos, String id_usuario,
			String contraseña, String email, int dineroActual, int nivelActual,
			String pregSecreta, String respSecreta) {
		super();
		this.dni = dni;
		this.nombre = nombre;
		this.apellidos = apellidos;
		this.id_usuario = id_usuario;
		this.contraseña = contraseña;
		this.email = email;
		this.dineroActual = dineroActual;
		this.nivelActual = nivelActual;
		this.pregSecreta = pregSecreta;
		this.respSecreta = respSecreta;
		for (int i=0;i<35;i++)
		{
			acciones[i]=0;
		}
		for (int i=0;i<35;i++)
		{
			favorito[i]=false;
		}
	}

	
	/*
	 * Gest y Sets
	 */
	public char getAdmin() {
		return admin;
	}

	public void setAdmin(char admin) {
		this.admin = admin;
	}
	
	public String getPregSecreta() {
		return pregSecreta;
	}

	public void setPregSecreta(String pregSecreta) {
		this.pregSecreta = pregSecreta;
	}

	public String getRespSecreta() {
		return respSecreta;
	}

	public void setRespSecreta(String respSecreta) {
		this.respSecreta = respSecreta;
	}

	public double getDineroActual() {
		return dineroActual;
	}

	public void setDineroActual(double dineroActual) {
		this.dineroActual = dineroActual;
	}

	public int getNivelActual() {
		return nivelActual;
	}

	public void setNivelActual(int nivelActual) {
		this.nivelActual = nivelActual;
	}
	public int getDni() {
		return dni;
	}
	public void setDni(int dni) {
		this.dni = dni;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellidos() {
		return apellidos;
	}
	public void setApellidos(String apellidos) {
		this.apellidos = apellidos;
	}
	public String getId_usuario() {
		return id_usuario;
	}
	public void setId_usuario(String id_usuario) {
		this.id_usuario = id_usuario;
	}
	public String getContraseña() {
		return contraseña;
	}
	public void setContraseña(String contraseña) {
		this.contraseña = contraseña;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}

	public void setAcciones(int cod_emp,int cant)
	{
		acciones[cod_emp-1]=cant;
	}
	

	public static int getAcciones(int cod_emp)
	{
		return acciones[cod_emp-1];
	}
	
	public void setFavorito(int cod_emp,boolean fav)
	{
		favorito[cod_emp-1]=fav;
	}
	public boolean[] getFavoritoLista() {
		return favorito;
	}

	public void setFavorito(boolean[] favorito) {
		this.favorito = favorito;
	}

	public boolean getFavorito(int cod_emp)
	{
		return favorito[cod_emp-1];
	}
	
	@Override
	public void visualizar() {
		
		if(this instanceof Administrador)
		{
			((Administrador)this).visualizar();
		}
		else
		{
			((Registrado)this).visualizar();
		}
		
	}

	public void modDinero(double d) {
		// TODO Auto-generated method stub
		dineroActual=dineroActual+d;
		
	}
	

	
}
